package com.wenjie.original.entity.vo.ScanRecord;

import com.wenjie.original.entity.ScanRecord;
import com.wenjie.original.entity.common.vo.IAddVo;
import com.wenjie.original.entity.common.vo.IUpVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.util.List;

public class ScanRecordUpOrAddVo {

    @Data
    public static class UpVo extends baseVo implements IUpVo<ScanRecord> {

        @NotNull
        private Long scanRecordId;
    }

    @Data
    public static class AddVo extends baseVo implements IAddVo<ScanRecord> {
        @Null
        private Long scanRecordId;
    }


    @Data
    public static class AddSmallVo {

        @NotBlank
        @ApiModelProperty("编号")
        private String code;

        @NotBlank
        @ApiModelProperty("实际的包装重量")
        private String scanWeight;

        @NotNull
        @ApiModelProperty("实际的包装数量")
        private Integer scanNum;

        @NotNull
        @ApiModelProperty("打包计划主键")
        private Long orderBoxId;

    }


    @Data
    public static class AddBigVo {
        @NotBlank
        @ApiModelProperty("编号")
        private String code;

        @NotBlank
        @ApiModelProperty("实际的包装重量")
        private String scanWeight;

        @NotNull
        @ApiModelProperty("子包装的记录Id")
        private List<String> scanRecordIds;

        @NotNull
        @ApiModelProperty("打包计划主键")
        private Long orderBoxId;
    }


    @Data
    private static class baseVo extends ScanRecord {

        public void setCreateTime(Long createTime) {
        }

        public void setUpdateTime(Long updateTime) {
        }

        public void setVersion(Long version) {
        }

        public void setDelFlag(Long delFlag) {
        }
    }


}
